Skip to content

Conversation

@enjoyzl
Copy link

@enjoyzl enjoyzl commented Nov 5, 2025

1、企微消息支持txt类型;

2、企微消息支持提醒@;

3、配置支持组、项目配置;

4、消息支持链接;

5、添加白名单控制;

zhenling.chen and others added 17 commits October 24, 2025 16:05
- 新增环境变量配置,支持开启或关闭commit message检查
- 支持通过正则表达式配置commit message的匹配规则
- 在GitLab和GitHub的push事件处理逻辑中加入commit message匹配判断
- 若commit message不匹配规则,则跳过本次代码审查
- 对正则表达式格式错误进行捕获和日志记录
- 更新示例环境变量文件,添加相关配置说明和示例
- 新增环境变量PUSH_WECOM_USE_TEXT_MSG,支持text消息格式推送
- Push消息支持text模式下@commit者及展示AI Review评分与详情链接
- PushReviewEntity新增note_url属性,用于存储AI Review结果URL
- GitLab和GitHub推送处理函数返回添加评论的提交URL供消息引用
- 优化企业微信通知接口,新增mentioned_list参数支持指定@用户
- 更新企业微信消息构建方法,支持text和markdown消息类型的@用户功能
- README和配置文件中添加企微增强功能说明及相关配置示例
- Push事件Commit Message检查开启,启用review关键字匹配触发机制
- 针对 markdown 类型消息,计算格式化后内容的实际字节数包括标题和@用户标签
- text 类型消息长度计算中加入了@用户标签的字节数
- 在内容分割时,为 markdown 类型预留标题和@用户标签的字节空间
- text 类型分割时同样考虑了@用户标签导致的字节数变化
- 修正了内容切分的可用字节数计算,避免消息发送时超长拒绝风险
- 新增BaseClient构造函数支持传入配置字典,优先读取项目级配置覆盖环境变量
- 各聊天模型客户端构造函数改造,支持从项目配置获得API Key、Base URL及默认模型,增强配置灵活性
- 修改工厂函数Factory.getClient,支持接收项目配置字典,并传递给对应客户端实例
- 重构ConfigLoader,新增get_config方法返回不修改全局环境变量的项目专属配置字典,支持加载.env文件
- 更新代码审查相关类BaseReviewer和CodeReviewer,支持配置传递,实现审查逻辑配置的定制化
- webhook处理函数中加载独立配置上下文,不再修改全局环境变量,读取项目级配置以覆盖全局变量
- 日志中增加提示项目使用独立配置上下文,改善配置加载透明度
- 修复BaseClient ping方法中异常日志输出变量缺失的问题
- 更新Reporter类支持配置传入,统一客户端配置管理机制
- 在PushReviewEntity中新增project_config字段,存储项目专属配置
- 事件处理函数优先使用entity中的project_config替代全局环境变量
- 修改filter_changes函数支持接收project_config参数,用于文件扩展名过滤
- Worker中加载项目配置后传递给白名单检查、功能开关及commit检查等逻辑
- 合并请求和Push事件处理均改为使用项目配置,实现配置隔离
- 代码审查相关模块去除对os.environ直接读取,改为统一从项目配置获取
- llm客户端工厂类调整配置参数传递,取消多余os.getenv调用
- 移除项目中部分冗余的全局环境变量读取代码,保证多项目运行并发安全
- 在MergeRequestReviewEntity和PushReviewEntity中新增project_config字段支持项目级配置
- 事件处理函数中传递project_config以实现通知消息的项目定制
- 修改通知发送接口,增加project_config参数用于传递项目专属配置
- 钉钉、飞书、企业微信和自定义Webhook通知器支持从项目配置优先读取Webhook地址和使能配置
- 日报通知采用全局配置,明确传入project_config=None避免使用项目配置
- 异常通知发送适配project
- 改进 get_config 方法,优先从 config 字典读取配置,其次读取环境变量
- 更新 check_llm_connectivity,增加 LLM_PROVIDER 环境变量的存在性校验
- 在连接检查日志中添加具体供应商名称输出
- 解决配置获取和连接流程中潜在的异常及错误处理不足问题
- 提取日报生成核心逻辑为独立函数generate_daily_report_core,供路由和定时任务复用
- 修改日报路由daily_report,调用核心函数并返回JSON或错误信息
- 新增定时任务专用日报生成函数daily_report_scheduled,避免依赖Flask上下文
- 定时任务调度中改为调用daily_report_scheduled函数,防止调用Flask路由
- 优化LLM工厂方法,优先从配置和环境变量读取服务提供商
- 修复WeCom消息通知中mentioned_list重复问题,确保去重后生成@标签
@enjoyzl enjoyzl requested a review from sunmh207 as a code owner November 5, 2025 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant